// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
// import com.alibaba.druid.sql.ast.expr.SQLTextLiteralExpr;
// import com.alibaba.druid.sql.ast.expr.SQLValuableExpr;
// import com.alibaba.druid.sql.ast.statement.SQLAssignItem;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
// import com.alibaba.druid.util.FnvHash;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "MySqlStatementImpl.h"

class MysqlCreateFullTextCharFilterStatement : virtual public MySqlStatementImpl
{
public:
  SQLName_ptr name;                // for all, not null
  SQLTextLiteralExpr_ptr typeName; // for charfilter/tokenizer/tokenfilter

  SQLAssignItem_list_ptr options; // charfilter/tokenizer/tokenfilter

  MysqlCreateFullTextCharFilterStatement();
  SHAREDOBJECT(MysqlCreateFullTextCharFilterStatement);
  void accept0(MySqlASTVisitor_ptr visitor);

  SQLName_ptr getName();

  void setName(SQLName_ptr name);

  SQLTextLiteralExpr_ptr getTypeName();

  void setTypeName(SQLTextLiteralExpr_ptr typeName);

  SQLAssignItem_list_ptr getOptions();

  void addOption(string_ptr name, SQLExpr_ptr value);

  SQLExpr_ptr getOption(string_ptr name);

  Object_ptr getOptionValue(string_ptr name);
};
